Most of the programs executed by information processing devices (computers) are updated as needed, for example, in order to add functions or correct failures. Programs to be updated are managed according to versions, and a version number is allocated as identification information to an updated program. This allows a program to be specified with an update content, the newness of a version, or the like by using the version number.
When a program is updated, the same programs executed by information processing devices are targets to be updated. Recently, an increasing number of programs executed by information processing devices have been updated via a network. A program is updated by replacing the entirety of a current program with the entirety of an updated program or by replacing a portion (difference) to be replaced in the current program.
Some programs to be updated need to be updated rapidly in many information processing devices. Such programs include, for example, a program executed by information processing devices that are used as servers.
When there are many information processing devices in which a program is to be updated, updating programs of individual information processing devices imposes a large burden on an administrator, and takes time. In view of this, some conventional information processing devices autonomously update a program by means of communication via a network.
When a conventional information processing device as described above updates a program, the information processing device reports a version number of the updated program to unspecified information processing devices through a network. Another conventional information processing device that has received the report requests a download of the updated program from the conventional information processing device that has reported the version number, and updates the program, when the reported version number is newer than the version number of a currently used program. The other convention information processing device, which has updated the program as described above, reports the version number of the updated program to unspecified information processing devices, similarly to the conventional information processing device that has downloaded the program. As a result, in a system in which a plurality of conventional information processing devices are connected to a network, when one conventional information processing device updates a program, all of the other conventional information processing devices update a program.
An application program executed by a server (hereinafter simply referred to as an “application”) differs depending on a user who uses the server. It is common that a view on updating of a program also differs depending on a user. As an example, when a failure has been found in firmware and when firmware of a version in which the failure has been corrected is newly distributed, users who do not care about the failure may refrain from updating the firmware. It is highly likely that a user who is afraid of the existence of a failure that has some influence on the firmware of the new version does not desire updating of the firmware. Considering the existence of the users above, it seems important to prevent programs of information processing devices in which a program is not to be updated from being updated.
In many information processing devices, firmware and OS (Operating System) are executed. Application software designed for a specific purpose such as document preparation or numerical calculation operates on the firmware or the OS. Therefore, a program needs to be updated so as to form a combination in which operations of respective programs are guaranteed, in consideration of other programs executed in the information processing device. In view of this, some conventional information processing devices provide support so as to form a combination in which operations of respective programs are guaranteed, when a certain program is updated in another information processing device connected via a network.
The conventional information processing device that enables the support above is provided as a server, and stores a table indicating combinations in which operations of respective programs are guaranteed. As a result, when one of the programs is updated in a connected personal computer (PC), other programs are updated as needed so as to form the combination indicated by the table.
When updating a program controlled by the conventional information processing device, a user of the PC needs to download software dedicated to the updating and to reply to an inquiry from the software. Therefore, when there are many PCs in which a program is to be updated, a user has to perform very troublesome operations.
Technologies described in the respective documents listed below are known.    [Patent Document 1] Japanese Laid-open Patent Publication No. 2011-95950    [Patent Document 2] Japanese Laid-open Patent Publication No. 2009-230398    [Patent Document 3] Japanese Laid-open Patent Publication No. 8-249163    [Patent Document 4] Japanese Laid-open Patent Publication No. 8-83229    [Patent Document 5] Japanese Laid-open Patent Publication No. 2001-109619